library(tidyverse)
Registered S3 methods overwritten by 'dbplyr':
method from
print.tbl_lazy
print.tbl_sql
── Attaching packages ───────────────────────────── tidyverse 1.3.1 ──
✔ ggplot2 3.3.6 ✔ purrr 0.3.4
✔ tibble 3.1.7 ✔ dplyr 1.0.9
✔ tidyr 1.2.0 ✔ stringr 1.4.0
✔ readr 2.1.2 ✔ forcats 0.5.1
── Conflicts ──────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag() masks stats::lag()
library(tidyverse)
library(shiny)
library(ggplot2)
library(CodeClanData)
Attaching package: ‘CodeClanData’
The following object is masked from ‘package:dplyr’:
starwars
The following object is masked from ‘package:tidyr’:
population
library(plotly)
Registered S3 method overwritten by 'data.table':
method from
print.data.table
Registered S3 method overwritten by 'htmlwidgets':
method from
print.htmlwidget tools:rstudio
Attaching package: ‘plotly’
The following object is masked from ‘package:ggplot2’:
last_plot
The following object is masked from ‘package:stats’:
filter
The following object is masked from ‘package:graphics’:
layout
game_sales %>%
mutate(year_of_release = as.factor(year_of_release)) %>%
arrange(year_of_release)
sales_genre <- game_sales %>%
group_by(genre, year_of_release) %>%
summarise(sales = round(mean(sales), 2), .groups = "keep") %>%
mutate(year_of_release = as.factor(year_of_release)) %>%
arrange(year_of_release) %>%
filter(year_of_release == "2012") %>%
ggplot(aes(x = genre,
y = sales,
fill = "coral"))+
geom_col()+
coord_flip()+
theme(panel.grid = element_blank(),
panel.background = element_blank(),
legend.position = "none")+
labs(x = "Genre",
y = "Sales (£m)")
ggplotly(sales_genre)
score_genre <- game_sales %>%
group_by(genre, year_of_release) %>%
summarise(user_score = round(mean(user_score), 2), .groups = "keep") %>%
mutate(year_of_release = as.factor(year_of_release)) %>%
arrange(year_of_release) %>%
filter(year_of_release == "2012") %>%
ggplot(aes(x = genre,
y = user_score,
fill = "coral"))+
geom_col()+
coord_flip()+
theme(panel.grid = element_blank(),
panel.background = element_blank(),
legend.position = "none")+
labs(x = "Genre",
y = "User Score")
ggplotly(score_genre)
year_vs_sales <- game_sales %>%
group_by(genre, year_of_release) %>%
summarise(sales = round(mean(sales), 2), .groups = "keep") %>%
filter(genre == "Action") %>%
ggplot(aes(x = year_of_release,
y = sales,
colour = genre))+
geom_line(show.legend = F)+
geom_point()+
theme(panel.grid = element_blank(),
panel.background = element_blank())+
labs(x = "Release Year",
y = "Sales (£m)")
ggplotly(year_vs_sales)
year_vs_score <- game_sales %>%
group_by(genre, year_of_release) %>%
summarise(user_score = round(mean(user_score), 2), .groups = "keep") %>%
filter(genre == "Action") %>%
ggplot(aes(x = year_of_release,
y = user_score,
colour = genre))+
geom_line(show.legend = F)+
geom_point()+
theme(panel.grid = element_blank(),
panel.background = element_blank())+
labs(x = "Release Year",
y = "User Score")
ggplotly(year_vs_score)
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQpgYGB7cn0KbGlicmFyeSh0aWR5dmVyc2UpCmxpYnJhcnkoc2hpbnkpCmxpYnJhcnkoZ2dwbG90MikKbGlicmFyeShDb2RlQ2xhbkRhdGEpCmxpYnJhcnkocGxvdGx5KQoKYGBgCmBgYHtyfQpnYW1lX3NhbGVzICU+JSAKICBtdXRhdGUoeWVhcl9vZl9yZWxlYXNlID0gYXMuZmFjdG9yKHllYXJfb2ZfcmVsZWFzZSkpICU+JSAKICBhcnJhbmdlKHllYXJfb2ZfcmVsZWFzZSkKYGBgCgoKCmBgYHtyfQpzYWxlc19nZW5yZSA8LSBnYW1lX3NhbGVzICU+JSAKICBncm91cF9ieShnZW5yZSwgeWVhcl9vZl9yZWxlYXNlKSAlPiUgCiAgc3VtbWFyaXNlKHNhbGVzID0gcm91bmQobWVhbihzYWxlcyksIDIpLCAuZ3JvdXBzID0gImtlZXAiKSAlPiUgCiAgbXV0YXRlKHllYXJfb2ZfcmVsZWFzZSA9IGFzLmZhY3Rvcih5ZWFyX29mX3JlbGVhc2UpKSAlPiUgCiAgYXJyYW5nZSh5ZWFyX29mX3JlbGVhc2UpICU+JSAKICBmaWx0ZXIoeWVhcl9vZl9yZWxlYXNlID09ICIyMDEyIikgJT4lIAogIGdncGxvdChhZXMoeCA9IGdlbnJlLAogICAgICAgICAgICAgeSA9IHNhbGVzLAogICAgICAgICAgICAgZmlsbCA9ICJjb3JhbCIpKSsKICBnZW9tX2NvbCgpKwogIGNvb3JkX2ZsaXAoKSsKICB0aGVtZShwYW5lbC5ncmlkID0gZWxlbWVudF9ibGFuaygpLAogICAgICAgIHBhbmVsLmJhY2tncm91bmQgPSBlbGVtZW50X2JsYW5rKCksCiAgICAgICAgbGVnZW5kLnBvc2l0aW9uID0gIm5vbmUiKSsKICBsYWJzKHggPSAiR2VucmUiLAogICAgICAgeSA9ICJTYWxlcyAowqNtKSIpCmBgYApgYGB7cn0KZ2dwbG90bHkoc2FsZXNfZ2VucmUpCmBgYAoKYGBge3J9CnNjb3JlX2dlbnJlIDwtIGdhbWVfc2FsZXMgJT4lIAogIGdyb3VwX2J5KGdlbnJlLCB5ZWFyX29mX3JlbGVhc2UpICU+JSAKICBzdW1tYXJpc2UodXNlcl9zY29yZSA9IHJvdW5kKG1lYW4odXNlcl9zY29yZSksIDIpLCAuZ3JvdXBzID0gImtlZXAiKSAlPiUgCiAgbXV0YXRlKHllYXJfb2ZfcmVsZWFzZSA9IGFzLmZhY3Rvcih5ZWFyX29mX3JlbGVhc2UpKSAlPiUgCiAgYXJyYW5nZSh5ZWFyX29mX3JlbGVhc2UpICU+JSAKICBmaWx0ZXIoeWVhcl9vZl9yZWxlYXNlID09ICIyMDEyIikgJT4lIAogIGdncGxvdChhZXMoeCA9IGdlbnJlLAogICAgICAgICAgICAgeSA9IHVzZXJfc2NvcmUsCiAgICAgICAgICAgICBmaWxsID0gImNvcmFsIikpKwogIGdlb21fY29sKCkrCiAgY29vcmRfZmxpcCgpKwogIHRoZW1lKHBhbmVsLmdyaWQgPSBlbGVtZW50X2JsYW5rKCksCiAgICAgICAgcGFuZWwuYmFja2dyb3VuZCA9IGVsZW1lbnRfYmxhbmsoKSwKICAgICAgICBsZWdlbmQucG9zaXRpb24gPSAibm9uZSIpKwogIGxhYnMoeCA9ICJHZW5yZSIsCiAgICAgICB5ID0gIlVzZXIgU2NvcmUiKQpgYGAKYGBge3J9CmdncGxvdGx5KHNjb3JlX2dlbnJlKQpgYGAKCgpgYGB7cn0KeWVhcl92c19zYWxlcyA8LSBnYW1lX3NhbGVzICU+JSAKICBncm91cF9ieShnZW5yZSwgeWVhcl9vZl9yZWxlYXNlKSAlPiUgCiAgc3VtbWFyaXNlKHNhbGVzID0gcm91bmQobWVhbihzYWxlcyksIDIpLCAuZ3JvdXBzID0gImtlZXAiKSAlPiUgCiAgZmlsdGVyKGdlbnJlID09ICJBY3Rpb24iKSAlPiUgCmdncGxvdChhZXMoeCA9IHllYXJfb2ZfcmVsZWFzZSwKICAgICAgICAgICAgIHkgPSBzYWxlcywKICAgICAgICAgICAgIGNvbG91ciA9IGdlbnJlKSkrCiAgZ2VvbV9saW5lKHNob3cubGVnZW5kID0gRikrCiAgZ2VvbV9wb2ludCgpKwogIHRoZW1lKHBhbmVsLmdyaWQgPSBlbGVtZW50X2JsYW5rKCksCiAgICAgICAgcGFuZWwuYmFja2dyb3VuZCA9IGVsZW1lbnRfYmxhbmsoKSkrCiAgbGFicyh4ID0gIlJlbGVhc2UgWWVhciIsCiAgICAgICB5ID0gIlNhbGVzICjCo20pIikKYGBgCmBgYHtyfQpnZ3Bsb3RseSh5ZWFyX3ZzX3NhbGVzKQpgYGAKCgpgYGB7cn0KeWVhcl92c19zY29yZSA8LSBnYW1lX3NhbGVzICU+JSAKICBncm91cF9ieShnZW5yZSwgeWVhcl9vZl9yZWxlYXNlKSAlPiUgCiAgc3VtbWFyaXNlKHVzZXJfc2NvcmUgPSByb3VuZChtZWFuKHVzZXJfc2NvcmUpLCAyKSwgLmdyb3VwcyA9ICJrZWVwIikgJT4lIAogIGZpbHRlcihnZW5yZSA9PSAiQWN0aW9uIikgJT4lIAogIGdncGxvdChhZXMoeCA9IHllYXJfb2ZfcmVsZWFzZSwKICAgICAgICAgICAgIHkgPSB1c2VyX3Njb3JlLAogICAgICAgICAgICAgY29sb3VyID0gZ2VucmUpKSsKICBnZW9tX2xpbmUoc2hvdy5sZWdlbmQgPSBGKSsKICBnZW9tX3BvaW50KCkrCiAgdGhlbWUocGFuZWwuZ3JpZCA9IGVsZW1lbnRfYmxhbmsoKSwKICAgICAgICBwYW5lbC5iYWNrZ3JvdW5kID0gZWxlbWVudF9ibGFuaygpKSsKICBsYWJzKHggPSAiUmVsZWFzZSBZZWFyIiwKICAgICAgIHkgPSAiVXNlciBTY29yZSIpCmBgYApgYGB7cn0KZ2dwbG90bHkoeWVhcl92c19zY29yZSkKYGBgCgo=